1. Field of the Invention
The present invention generally relates to encoding and decoding information in a communication system, and more particularly to a system and method which performs fine granularity scalability encoding/decoding of image information.
2. Background of the Related Art
In coding and transmitting an image, an MPEG-4 (Moving Pictures Expert Group-4) standard is designed to provide various picture qualities depending on the situation or performance of a receive terminal. In a related-art system, if a computing power of the terminal at the receiving end is excellent and a delivery layer (wireless, ATM, LAN or the like) is in good condition, a moving picture with high quality can be received and displayed. However, if the performance of the receiver terminal is not good or a communication line is not in good condition, a high quality moving picture cannot be received.
In order to cope with these two situations, MPEG-4 is designed to perform scalable image coding. This involves having an encoder generate a scalable bit stream at a sending end. The bit stream is then transmitted so that the receiving end can receive an image of various picture qualities (that is, from a low quality to a high quality).
If the transmission bit stream is scalable, various types of receivers can be used. A low-performance receiver can receive and display a basic quality image bit stream encoded at a base layer. A high-performance receiver can receive and display a high quality image bit stream encoded in an enhancement layer.
The scalable image coding method is roughly performed in the base layer and enhancement layer. When moving picture information of a basic quality is transmitted from the base layer of the encoder and information providing enhanced picture quality is transmitted with the basic quality moving picture information from the enhancement layer of the encoder, a decoder at the receiving side decodes the high quality image information. In a low-performance receiver, the decoder selectively decodes the received image information of the two layers according to a state of performance of the receiver terminal and the delivery layer.
That is, if the decoder in a low-performance receiver is incapable of decoding every piece of information transmitted through the delivery layer the decoder decodes only the information on the base layer, which is a minimum image quality compensation layer, and discards the information corresponding to the remaining enhancement layer. In contrast, a high-performance receiver can receive information of every layer and implement a high quality image. Thus, through scalable image coding, an image can be transmitted for decoding and display by both high-performance decoders and low-performance decoders.
In the above-mentioned scalable image coding method, image frames can be restored only when the receiving end completely receives all the bit streams from the enhancement layer. Otherwise, the corresponding image cannot be properly restored. Thus, until all the bit streams have been received after requesting their re-transmission, image restoration cannot be performed, or a transmission error concealment should be performed using an image of a previous frame.
In this latter technique, if a planned image bit stream cannot be not transmitted on a real-time basis due to an unstable delivery layer, a received image should be restored on a real-time basis using only partial image bit streams received up to a certain time point. For this purpose, MPEG-4 proposes an FGS (Fine Granular Scalability) coding method towards forming an international standard.
The FGS coding method restores a transmission image using partial bit streams received up to a certain time point if a delivery layer is not stable when scalable coding is performed. This method therefore overcomes the shortcomings of the existing scalable coding method implemented in consideration of only a stable delivery layer. The FGS coding method uses a method of transmitting image bit streams in bit plane units when the enhancement layer at the sending end transmits the image bit streams of an enhanced picture quality based on an image transmitted from the base layer.
The FGS coding method is similar to the existing scalable coding method in that when the sending end transmits a bit stream required for the enhancement layer to the receiving end, it transmits only a difference between an original image and an image transmitted from the base layer. This difference information may then be used at the receiving side to generate images and improve picture quality.
A major difference between the FGS encoding method and the existing scalable encoding method is that in the FGS encoding method, the enhancement layer divides image information to be transmitted into bit planes, transmits the most significant bit (MSB) with priority, and then transmits the less important bits consecutively by dividing them into bit planes. Accordingly, in the FGS encoding method, even though the receiving end fails to receive every bit required for restoration of an image due to a sudden change in bandwidth of the delivery layer, it can restore a received image to some extent by using bit streams received up to a certain time point.
For example, assume that image information corresponding to the value 25 is to be transmitted. The value 25 is expressed by ‘11001’ using binary numbers, which can consist of 5 bit planes. In order to transmit the image information by bit planes, first the sending end informs the receiving end that the information to be transmitted consists of 5 bit planes. Thereafter, in the case that the bits are transmitted from the MSB to the least significant bit (LSB), when transmission of the first bit is completed, the receiving end can recognize that the received information is a value of above 16 (10000). When transmission of the second bit is completed, the receiving end can recognize that the received information is a value of above 24 (11000).
If the sending end cannot transmit a bit stream any more due to a restriction in bandwidth of the delivery layer, the receiving end can restore the information corresponding to the numeric 24 using the bit stream 11000 which has been received up to a certain time point. As a result, the received information 24 is similar to the information 25 that the sending end initially intended to transmit.
As mentioned above, the fine granularity scalability encoding method used in MPEG-4 considers a situation that a bandwidth of the delivery layer can be quickly changed any time. The construction of the basic fine granularity scalability coder will now be described with reference to FIG. 1.
FIG. 1 is a schematic block diagram of an MPEG-4 fine granularity scalability coder in accordance with the related art, which does not have a part for a DCT (Discrete Cosine Transform) calculation in the enhancement layer. The coder includes a fine granularity scalability (FGS) layer consisting of a base layer and an enhancement layer. A signal of the enhancement layer is generated by a difference value between a DCT coefficient before quantization and a signal re-constructed to be inverse-quantization.
First, for the base layer, conventional MPEG-4 encoding is used as is. In the image encoding method used for the base layer, an image data compression is performed in a spatial and temporal direction through a discrete cosine transform (DCT), quantization, motion estimation (ME), motion compensation (MC), inverse quantization (Q−1), inverse discrete cosine transform (IDCT) or the like, and an entropy coding according to preponderation of coding generation probability is performed through a variable length coding (VLC). Finally, a base layer bit stream generated through the coding is transmitted to the delivery layer through a transmission buffer.
As illustrated, in FGS enhancement encoding of the enhancement layer, a difference between an original image and an image reproduced in the base layer is calculated by a subtracter. A bit plane shifting process, a maximum value finding process, a bit plane VLC process are then respectively performed on an error value according to the difference. This difference is a difference between an image reproduced after being coded in the base layer (that is, an image reproduced through the inverse-quantizer (Q−1)) and the original image generated after DCT is performed.
At this time, if a block selectively having a good picture quality is required, the corresponding value should be transmitted first with priority. In this case, the bit plane shifting process can be selectively performed. The process of transmitting the corresponding value with priority because of necessity of the block with a good picture quality performed in the bit plane shifting process maybe referred to as selective enhancement.
Thereafter, in the process of finding a maximum value, the number of maximum bit planes for transmitting a corresponding image frame is obtained. Then, in the bit plane VLC process, 64 DCT coefficients (bit of a corresponding bit plane of the DCT coefficient is 0 or 1) obtained by the block unit of the bit plane are put into one matrix in zigzag scan order, and each matrix is run-length coded according to a VLC table.
FIG. 2 shows the structure of a related-art decoder terminal (that is, the receiving end) of the FGS encoder used in the MPEG-4 international standard. Decoding of the transmission bit stream received from the delivery layer is performed separately in the base layer and in the enhancement layer in reverse order to that of the encoder.
In the base layer of the decoder, the MPEG-4 image decoding method is used as is. First, when a bit stream is input into the base layer, the bit stream undergoes a variable length decoding (VLD), inverse quantization, and inverse discrete cosine transforming. Then, the inverse discrete cosine transformed value and a motion-compensated value are added, and the obtained values are clipped into the range of 0˜255, thereby restoring an original image of the base layer.
In the enhancement layer of the FGS encoding method, decoding of a bit stream transmitted to the enhancement layer is performed in inverse order to that of the encoder. That is, first, bit-plane VLD is performed on the input enhancement bit stream. At this time, if a block with a good picture quality has been selectively transmitted, the bit plane shifting process is selectively performed. After the VLD is performed and the shifting is selectively performed on each bit plane, the obtained value is subjected to the IDCT in the block unit, thereby restoring the original image. Thereafter, the image restored in the enhancement layer is added to an image decoded in the base layer, and then the obtained values are clipped in the range of 0˜255, whereby an image of an enhance picture quality is finally restored.
As mentioned above, if there is no DCT calculation in the enhancement layer of the MPEG-4 FGS encoding, the enhancement layer signal is determined by a quantization error. However, because the quantization error is calculated based on the difference between the signal prior to quantization and the value reconstructed by quantization (and thus the sign (positive (+) or negative (−)) of the enhancement layer signal is determined irrespective of the base layer), information according to the sign should be encoded together.